home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / MenuShellP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  3.1 KB  |  119 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: MenuShellP.h,v $ $Revision: 1.20 $ $Date: 92/05/14 12:53:41 $ */
  6. /*
  7. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. #ifndef _XmMenuShellP_h
  11. #define _XmMenuShellP_h
  12.  
  13. #include <Xm/MenuShell.h>
  14. #include <Xm/XmP.h>
  15. #include <X11/ShellP.h>
  16.  
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20.  
  21. /* The MenuShell instance record */
  22.  
  23. typedef struct 
  24. {
  25.     unsigned char        focus_policy;
  26.     XmFocusData            focus_data;
  27.     Boolean                 private_shell;
  28.     XmFontList              default_font_list;
  29.     XmFontList              button_font_list;
  30.     XmFontList              label_font_list;
  31. } XmMenuShellPart;
  32.  
  33.  
  34. /* Full instance record declaration */
  35.  
  36. typedef  struct _XmMenuShellRec 
  37. {
  38.     CorePart            core;
  39.     CompositePart        composite;
  40.     ShellPart            shell;
  41.     OverrideShellPart        override;
  42.     XmMenuShellPart        menu_shell;
  43. } XmMenuShellRec;
  44.  
  45. typedef  struct _XmMenuShellWidgetRec /* OBSOLETE (for compatibility only).*/
  46. {
  47.     CorePart            core;
  48.     CompositePart        composite;
  49.     ShellPart            shell;
  50.     OverrideShellPart        override;
  51.     XmMenuShellPart        menu_shell;
  52. } XmMenuShellWidgetRec;
  53.  
  54.  
  55.  
  56. /* MenuShell class structure */
  57.  
  58. typedef struct 
  59. {
  60.     XtActionProc popdownOne;  /* fnct to unpost portion or all of menu */
  61.     XtActionProc popdownEveryone; /* fnct to unpost portion of menu */
  62.     XtActionProc popdownDone;     /* fnct to unpost all menus */
  63.     XmMenuPopupProc popupSharedMenupane; /* fnct to post shared menus */
  64.                     /* Really should be popupSharedMenuShell */
  65.     XtPointer        extension;     /* Pointer to extension record */
  66. } XmMenuShellClassPart;
  67.  
  68.  
  69. /* Full class record declaration */
  70.  
  71. typedef struct _XmMenuShellClassRec 
  72. {
  73.     CoreClassPart        core_class;
  74.     CompositeClassPart        composite_class;
  75.     ShellClassPart        shell_class;
  76.     OverrideShellClassPart  override_shell_class;
  77.     XmMenuShellClassPart    menu_shell_class;
  78. } XmMenuShellClassRec;
  79.  
  80.  
  81. externalref XmMenuShellClassRec  xmMenuShellClassRec;
  82.  
  83. #define MS_FocusPolicy(m) \
  84.        (((XmMenuShellWidget)m)->menu_shell.focus_policy)
  85.  
  86. /********    Private Function Declarations    ********/
  87. #ifdef _NO_PROTO
  88.  
  89. extern void _XmEnterRowColumn() ;
  90. extern void _XmClearTraversal() ;
  91. extern void _XmSetLastManagedMenuTime() ;
  92.  
  93. #else
  94.  
  95. extern void _XmEnterRowColumn( 
  96.                         Widget widget,
  97.                         XtPointer closure,
  98.                         XEvent *event,
  99.                         Boolean *cont) ;
  100. extern void _XmClearTraversal( 
  101.                         Widget wid,
  102.                         XEvent *event,
  103.                         String *params,
  104.                         Cardinal *num_params) ;
  105. extern void _XmSetLastManagedMenuTime(
  106.             Widget wid,
  107.             Time newTime ) ;
  108.  
  109. #endif /* _NO_PROTO */
  110. /********    End Private Function Declarations    ********/
  111.  
  112.  
  113. #ifdef __cplusplus
  114. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  115. #endif
  116.  
  117. #endif /* _XmMenuShellP_h */
  118. /* DON'T ADD STUFF AFTER THIS #endif */
  119.